package com.zds.scm.dao;

import java.util.List;

import com.zds.scm.common.dao.CommonDAO;
import com.zds.scm.domain.CourseInfo;

public interface CourseInfoDAO extends CommonDAO<CourseInfo> {
	/**
	    * 分页查询所有课程信息
	    * @param currentPage
	    * @param pageSize
	    * @return
	    */
	public List<CourseInfo> findAll(int currentPage, int pageSize);
	/**
	 * 所有课程总量
	 * @return 课程总数
	*/
    public int getTotalRows();
	/**
	 * 根据系别查询该系别下的课程
	 * @param DeptCode
	 * @return  该系下的课程列表
	 */
	public List<CourseInfo> findByDeptCode(String DeptCode,int currentPage, int pageSize);
	/**
	 * 指定系部课程总量，对应findByDeptCode
	 * @return 该系下的课程总数
	*/
    public int getTotalRowsDeptCode(String DeptCode);
	/**
	 * 根据课程名字模糊查询,
	 * @param likeCourseName
	 * @return  课程列表
	 */
	public List<CourseInfo> findByName(String likeCourseName,int currentPage, int pageSize);
	/**
	 * 指定名字模糊查询课程总量findByName方法返回的结果
	 * @return 课程总数
	*/
    public int getTotalRowsByName(String likeCourseName);
	/**
	 * 根据课程代码模糊查询
	 * @param likeCourseName
	 * @return  课程列表
	 */
	public List<CourseInfo> findByCode(String likeCourseCode,int currentPage, int pageSize);
	/**
	 * 指定代码模糊查询课程总量findByCode方法返回的结果
	 * @return 课程总数
	*/
    public int getTotalRowsByCode(String likeCourseCode);
    /**
	 * 根据课程类型查询
	 * @param likeCourseName
	 * @return  课程列表
	 */
	public List<CourseInfo> findByType(String courseType,int currentPage, int pageSize);
	/**
	 * 根据课程类型查询课程总量ByType方法返回的结果
	 * @return 课程总数
	*/
    public int getTotalRowsByType(String courseType);
}
